package dewu;

import java.util.*;

/**
 * n 个有礼貌的人正排好队(初始顺序为1 ~ n)准备依次通过 m个门，门的类型有 A、 B两种。
 * 通过这两种门时，这 n 个人的顺序会发生变化，变化规则如下:
 * A型门:走到这种门前，第一个人会有礼貌的拉开门，等到其余所有人都通过后，自己最后通过。队列中其余人的顺序不变。
 * B型门:走到这种门前，第一个人会让给第二个人进，第二个人会让给第三个人进，以此类推。
 * 到最后，一开始排在队列的第一个人变成了最后一个进门的，一开始排在队列的最后一个人变成了第一个进门的。
 * <p>
 * 第一行输入一个正整数n，代表一共有多少人。
 * 第二行输入一个非负整数 m，代表一共有几扇门。
 * 接下来输入 m行数据，在 m行中的第i行输入一个字符A或者 B，代表第i扇门的类型。
 * 样例输入:
 * 5
 * 4
 * A
 * A
 * B
 * A
 * <p>
 * 样例输出:
 * 1
 * 5
 * 4
 * 3
 * 2
 *
 * @author Liu Yicong
 * @link <a href="https://www.nowcoder.com/discuss/765004581838340096?sourceSSR=search">...</a>
 * @date 2025/9/21
 */
public class Algs1 {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int n = Integer.decode(sc.nextLine());
		int m = Integer.decode(sc.nextLine());
		List<String> gates = new ArrayList<>();
		for (int i = 0; i < m; i++) {
			gates.add(sc.nextLine());
		}
		sc.close();

		// 生成初始队列
		List<Integer> res = new LinkedList<>();
		for (int i = 1; i <= n; i++) {
			res.add(i);
		}

		// 根据不同的门来重新排队
		for (String gate : gates) {
			if (gate.equals("A")) {
				res.add(res.get(0));
				res.remove(0);
			} else {
				Collections.reverse(res); // 使用Collections的反转方法
			}
		}

		res.forEach(System.out::println);
	}
}
